This disclosure relates to a method, system and computer program product for image denoising. According to an exemplary embodiment, MLBM3D (Multiple Layer Block Matching 3 Dimensional Filter) is provided for collaboratively filtering high contrast image patches, i.e. image blocks.
Image denoising has long been a topic of interest for the image processing community. See R. C Gonzalez, R. E. Woods., Digital Image Processing, Prentice Hall, N.J., 2008 and Vladimir Katkovnik, Alessandro Foi, Karen Egiazarian, Jaakko Astola, “From local kernel to nonlocal multiple-model image denoising”, Journal International Journal of Computer Vision, Vol 86, Issue 1, pp 1-32 January 2010. Traditionally, image denoising is performed as a local point-wise operation, e.g. local smoothing. In recent years, there have been two emerging trends. See R. C Gonzalez, R. E. Woods., Digital Image Processing, Prentice Hall, N.J., 2008. First, non-local dependency existing in natural images has been exploited. Second, multiple point estimation methods are being investigated. Combining non-local processing and multiple point operations, Block Matching and 3-D Filtering (BM3D) algorithm, see K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “Image denoising by sparse 3-D transform-domain collaborative filtering”, IEEE Transactions on Image Processing, vol. 16, no. 8, pp. 2080-2095, August 2007, hereinafter referred to as Dabov et al., is currently considered as one of the most successful denoising algorithms. In BM3D, similar image patches, i.e. blocks, are grouped and stacked into 3-D arrays called “groups”, which are then collaboratively filtered. The collaborative filtering includes three steps: 3-D linear transform, shrinkage in transform-domain, and 3-D inverse transform. As it exploits both within-patch local correlations and between patch similarities, the 3-D transform often generates a highly sparse representation of the true signal and the noise can be effectively removed by shrinkage.
Various improvements over BM3D have been proposed. Shape Adaptive BM3D was introduced in K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “A Nonlocal and Shape-Adaptive Transform-Domain Collaborative Filtering”, Proc. 2008 Int. Workshop on Local and Non-Local Approximation in Image Processing, LNLA 2008, Lausanne, Switzerland, 2008, which applies a Shape-Adaptive DCT (Discrete Cosine Transformation) for within-patch de-correlation. PCA (Principal Component Analysis) on adaptive-shape neighborhoods was proposed in K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “BM3D Image Denoising with Shape-Adaptive Principal Component Analysis”, Proc. Workshop on Signal Processing with Adaptive Sparse Structured Representations (SPARS′09), Saint-Malo, France, April 2009. A method applying adaptive block-match thresholds is presented in Y. S. Zhang et al., “BM3D Denoising Algorithm with Adaptive Block-Match Thresholds”, 2012, Applied Mechanics and Materials, vol 229-231, pp 1715-1720, November 2012. O. Pakdelazar1 and G. Rezai-rad, “Improvement of BM3D algorithm and Employment to satellite and CFA images Denoising”, International Journal of Information Sciences and Techniques (IJIST) Vat No. 3, pp 23-33, November 2011, changes BM3D algorithm parameter values according to noise level. A Smooth Sigmoid-Based Shrinkage is combined with BM3D in M. Poderico, S. Parrilli, G. Poggi, L. Verdoliva “Sigmoid Shrinkage for BM3D denoising algorithm”, 2010 IEEE International Workshop on Multimedia Signal Processing (MMSP), 423-426. BM3D and its variations have demonstrated a performance beyond the abilities of most modern alternatives.
Despite its excellent results, BM3D still has room for improvements. Image details and sharp edges, such as text in document images are challenging, as they usually do not produce sparse representations under the linear transformations. As a result, noise near the edges cannot be effectively removed and various artifacts such as ringing and blurring can be introduced. In this disclosure, provided is a Multiple Layer BM3D (MLBM3D) denoising algorithm. The algorithm applies a three layer model to decompose a high contrast patch. The model includes a top layer, a bottom layer, and a binary mask layer which controls switching between the content layers, i.e. the top and bottom layers. The top and bottom layers are collaboratively filtered and then combined. As the top and bottom layers are typically smooth and of low contrast, they can be effectively modeled by sparse representations. Consequently, image details and sharp edges can be retained with more fidelity.